ROOTDIR=$(shell pwd)/../..
SRC_DIR= $(ROOTDIR)/src
OBJ_DIR=$(ROOTDIR)/obj
BIN_DIR=$(ROOTDIR)/bin
LIB_DIR=$(ROOTDIR)/lib
INC_DIR=$(ROOTDIR)/inc

CC=gcc
AR=ar
CFLAGS=-W -Wall -O2 -ansi -pedantic -DNDEBUG
LDFLAGS=

CFLAGS_D=-W -Wall -ansi -pedantic -DDEBUG -ggdb3
LDFLAGS_D=$(LDFLAGS) -ggdb3

############################
# sources
SRC_PERSONNAGES = Personnage.c \
		PersonnageHero.c \
		PersonnageHeroTroll.c \
		PersonnageHeroMagicien.c \
		PersonnageBoss.c \
		PersonnageMonstre.c
		
SRC_POUVOIR = Pouvoir.c \
		PouvoirFleche.c \
		PouvoirGeant.c \
		PouvoirInvocation.c \
		PouvoirMassue.c \
		PouvoirDeconcentration.c

SRC_CASE = Case.c \
		CasePause.c

SRC_JEU = Jeu.c \
		JeuCombat.c

SRC_JOUEURS = Joueur.c \
			JoueurLocal.c
		
SRC= 	Erreur.c \
		$(SRC_PERSONNAGES) \
		$(SRC_POUVOIR) \
		$(SRC_JOUEURS) \
		$(SRC_CASE) \
		$(SRC_JEU) \
		common.c \
		Des.c \
		jeu_s.c \
		Plateau.c \
		Question.c \
		Console.c \
		SettingsManager.c
		
OBJS=	$(SRC:.c=.o)
OBJS_D=	$(SRC:.c=_d.o)
LIBS=   -L$(LIB_DIR) -lList
LIBS_D=   $(LIBS:-lList=-lList_d)

#################################
# targets
all: clean jeu_s jeu_s_d
	@echo /!\\ le Makefile pour des raisons de test fait temporairement un clean avant de construire jeu_s!

jeu_s: $(OBJS)
	@echo ==== compiling $@ ====
	@$(CC) -o $(BIN_DIR)/$@  $^ $(LIBS) $(LDFLAGS)

jeu_s_d: $(OBJS_D)
	@echo "==== compiling (Debug) $@ ===="
	@$(CC) -o $(BIN_DIR)/$@  $^ $(LIBS_D) $(LDFLAGS_D)

%.o : %.c
	@echo ==== compiling $@ ====
	@$(CC) -c -o $@ -I$(INC_DIR) $< $(CFLAGS) 
	
%_d.o : %.c
	@echo "==== compiling (Debug) $@ ===="
	@$(CC) -c -o $@ -I$(INC_DIR) $< $(CFLAGS_D) 

.PHONY: clean

clean:
	@echo ==== Cleaning ====
	@rm -rf *.o

 	